package com.azxc.rapid.plus.user.service;


import com.azxc.rapid.core.mp.base.BaseService;
import com.azxc.rapid.plus.user.vo.DeptUserVO;
import com.azxc.rapid.plus.user.vo.UserTreeVO;
import com.azxc.rapid.system.user.entity.User;
import com.azxc.rapid.system.user.entity.UserInfo;
import com.azxc.rapid.system.user.vo.UserVO;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.Collection;
import java.util.List;

/**
 * 服务类
 */
public interface IUserPlusService extends BaseService<User> {

	/**
	 * 新增用户
	 *
	 * @param user
	 * @return
	 */
	boolean submit(User user);



	/**
	 * 修改用户基本信息
	 *
	 * @param user
	 * @return
	 */
	boolean updateUserInfo(User user);


	/**
	 * 用户信息
	 *
	 * @param userId
	 * @return
	 */
	UserInfo userInfo(Long userId);



	UserVO getUserVoInfo();

	List<UserTreeVO> loadAllTree();

	Collection<? extends UserTreeVO> loadTree(long long1);

	List<User> selectUserByDept(DeptUserVO deptUserVO);

	List<UserTreeVO> allTree();

	List<UserTreeVO> tree(long long1);

	List<User> selectUserByRegionCode(String regionCode);

	/**
	 * 获取监管仓id，根据登入人
	 */
	List<Long> getStorageIdList();

	IPage<User> userByRoleTraceInstitute(IPage<User> page);

	void updateUserEntId(User user);
}
